Matthias Clasen [Thu, 2 Apr 2020 13:01:33 +0000 (09:01 -0400)]
imcontexsimple: Move Compose file loading to class_init
This ensures that it is done only once.
Matthias Clasen [Thu, 2 Apr 2020 12:56:21 +0000 (08:56 -0400)]
imcontextsimple: Simpify Compose file loading
We are not loading the Compose file for individual contexts,
it just gets added to a global list. So don't pass an im context
along. This will let us move the loading out of the initialization
of individual contexts, and only do it once.
Matthias Clasen [Thu, 2 Apr 2020 12:47:02 +0000 (08:47 -0400)]
imcontextsimple: Load ~/.Compose unconditionally
There is nothing display-specific in the ~/.Compose file,
so we can just try to load it without looking at the
display we are on.
Matthias Clasen [Thu, 2 Apr 2020 12:24:01 +0000 (08:24 -0400)]
imcontextsimple: Add a profiler mark for IO
We are loading a file here, thankfully in a thread, but
we do it every time an entry is created. Add a profiler
mark, to make this visible.
Matthias Clasen [Thu, 2 Apr 2020 04:39:46 +0000 (00:39 -0400)]
Fix crossing event generation
We were not properly setting the new_descendent field
in Crossing structs for GTK_CROSSING_OUT events. This
was causing extraneous ::leave signals to be emitted,
and make model buttons in popover menus flicker when
hovered.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2536
Matthias Clasen [Wed, 1 Apr 2020 20:40:17 +0000 (20:40 +0000)]
Merge branch 'drop-popover-demo' into 'master'
gtk-demo: Remove the popover demo
Closes #2429
See merge request GNOME/gtk!1600
Matthias Clasen [Wed, 1 Apr 2020 19:44:22 +0000 (15:44 -0400)]
gtk-demo: Remove the popover demo
It doesn't work anymore, since popovers now need
support in the parent, and we don't really need
a demo just for popovers. They are used everywhere
already.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2429
Emmanuele Bassi [Wed, 1 Apr 2020 13:45:19 +0000 (13:45 +0000)]
Merge branch 'flow-box-typo' into 'master'
gtkflowbox: Fix a minor typo in the documentation
See merge request GNOME/gtk!1599
Philip Withnall [Wed, 1 Apr 2020 13:04:46 +0000 (14:04 +0100)]
gtkflowbox: Fix a minor typo in the documentation
Signed-off-by: Philip Withnall <withnall@endlessm.com>
Matthias Clasen [Wed, 1 Apr 2020 05:04:02 +0000 (05:04 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
keynav: Fix Shift-Tab
See merge request GNOME/gtk!1598
Matthias Clasen [Wed, 1 Apr 2020 05:02:15 +0000 (05:02 +0000)]
Merge branch 'cursor-aspect-ratio' into 'master'
Add a cursor-aspect-ratio setting
See merge request GNOME/gtk!1597
Matthias Clasen [Wed, 1 Apr 2020 04:24:56 +0000 (00:24 -0400)]
Update the settings test
Matthias Clasen [Wed, 1 Apr 2020 04:21:19 +0000 (00:21 -0400)]
keynav: Fix Shift-Tab
This was broken by the shortcuts branch merge.
Matthias Clasen [Sun, 2 Feb 2020 12:21:42 +0000 (13:21 +0100)]
Add a cursor-aspect-ratio setting
Add a setting that controls how thick the text caret is drawn.
The default value is 0.04.
Matthias Clasen [Wed, 1 Apr 2020 01:09:30 +0000 (21:09 -0400)]
3.98.2
Matthias Clasen [Wed, 1 Apr 2020 00:16:26 +0000 (00:16 +0000)]
Merge branch 'wip/carlosg/stuck-pointer-focus' into 'master'
gtkmain: Do not try to coalesce/ignore crossing events
See merge request GNOME/gtk!1594
Matthias Clasen [Tue, 31 Mar 2020 23:19:09 +0000 (23:19 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1593
Carlos Garnacho [Tue, 31 Mar 2020 22:32:57 +0000 (00:32 +0200)]
gtkmain: Do not try to coalesce/ignore crossing events
Under grabbing circumstances we used to get several crossing events,
some corresponding to the grab itself and some corresponding to
pointer motion.
The backends now do a better job at keeping those simple, which
means we sit listening for events that don't actually arrive. This
triggers pointer focus issues when dragging windows or opening
grabbing popups.
Actually obey those events, they will be the only ones we get now.
Matthias Clasen [Tue, 31 Mar 2020 19:59:23 +0000 (15:59 -0400)]
testsuite: Add a test for transforms in builder files
Matthias Clasen [Tue, 31 Mar 2020 19:51:25 +0000 (15:51 -0400)]
testsuite: Add a test for parsing layout properties
and drop the child properties test that doesn't
do anything anymore.
Matthias Clasen [Tue, 31 Mar 2020 18:32:18 +0000 (18:32 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1591
Matthias Clasen [Tue, 31 Mar 2020 17:06:19 +0000 (13:06 -0400)]
window: Fix residual resizing issues
After the GdkToplevel split, GtkWindow occasionally
forgets its minimum size. Fix this by keeping a GdkToplevelLayout
around and reusing it.
Chun-wei Fan [Tue, 31 Mar 2020 04:00:26 +0000 (12:00 +0800)]
meson.build: Fix Visual Studio builds
We need to make the C++ language available before we can access the C++
compiler object...
Matthias Clasen [Tue, 31 Mar 2020 01:58:24 +0000 (21:58 -0400)]
NEWS: Updates
Matthias Clasen [Tue, 31 Mar 2020 00:39:37 +0000 (00:39 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1589
Matthias Clasen [Tue, 31 Mar 2020 00:09:29 +0000 (20:09 -0400)]
shortcutcontroller: Document buildable support
Matthias Clasen [Mon, 30 Mar 2020 23:03:22 +0000 (19:03 -0400)]
testsuite: Add a builder test for shortcut controllers
Matthias Clasen [Mon, 30 Mar 2020 23:02:35 +0000 (19:02 -0400)]
shortcutcontroller: Fix builder support
The GtkBuilder support was not working anymore after
triggers and actions have been turned into objects.
Fix this.
Matthias Clasen [Mon, 30 Mar 2020 18:12:14 +0000 (14:12 -0400)]
Add new api to the docs
Matthias Clasen [Mon, 30 Mar 2020 17:45:40 +0000 (17:45 +0000)]
Merge branch 'wip/hadess/portal-fixes' into 'master'
Portal fixes
See merge request GNOME/gtk!1585
Matthias Clasen [Mon, 30 Mar 2020 17:41:12 +0000 (17:41 +0000)]
Merge branch 'issue982' into 'master'
gdk: Add gdk_toplevel_inhibit_system_shortcuts API
Closes #982
See merge request GNOME/gtk!1542
Bastien Nocera [Mon, 30 Mar 2020 12:18:11 +0000 (14:18 +0200)]
filechoosernativeportal: Fall back if portal is too old
Add portal version checking as originally implemented for the GTK 3.x
branch.
See:
35fec1c6b298e0e294530e1ffc8615b5bd261531
Bastien Nocera [Mon, 23 Mar 2020 13:56:43 +0000 (14:56 +0100)]
Add portal version checking helper
Add gtk_get_portal_interface_version() to check the version of a portal.
Bastien Nocera [Mon, 23 Mar 2020 13:45:57 +0000 (14:45 +0100)]
colorpickerportal: Simplify version fetching code
Simplify version checking code by using a function to fetch the uint out
of the GVariant and don't throw a warning if it can't be fetched.
Olivier Fourdan [Fri, 27 Mar 2020 16:14:52 +0000 (17:14 +0100)]
win32: Add inhibit shortcut properties
Win32 backend doesn't have support for inhibit shortcuts, yet it needs
support the standard set of GdkToplevel properties.
Add support for the "inhibit-list" object property to GdkToplevel on
win32.
Olivier Fourdan [Fri, 27 Mar 2020 16:13:16 +0000 (17:13 +0100)]
broadway: Add inhibit shortcut properties
Broadway doesn't have support for inhibit shortcuts, yet it needs to
support the standard set of GdkToplevel properties.
Add support for the "inhibit-list" object property to GdkToplevel on
Broadway.
Olivier Fourdan [Fri, 20 Mar 2020 14:24:06 +0000 (15:24 +0100)]
x11: Implement inhibit_system_shortcuts API
On X11, there is no such equivalent to the inhibit shortcut protocol
found on Wayland.
To implement the inhibit_system_shortcuts API on X11, we emulate the
same behavior using grabs on the keyboard.
To avoid keeping active grabs on the keyboard that would affect other
X11 applications even when the surface isn't focused, the X11
implementation takes care of releasing the grabs as soon as the toplevel
loses focus.
Olivier Fourdan [Fri, 27 Mar 2020 15:54:25 +0000 (16:54 +0100)]
x11: Use gdk_x11_* rather than gdk_wayland_*
Rename the local functions for the x11 backend as gdk_x11_* rather than
gdk_wayland_*
Olivier Fourdan [Fri, 20 Mar 2020 14:22:30 +0000 (15:22 +0100)]
wayland: Implement inhibit_system_shortcuts API
On Wayland, this is a direct mapping with the inhibit shortcut protocol
that GDK already supports.
Simply wire the new API to the existing entries.
Olivier Fourdan [Fri, 27 Mar 2020 13:40:52 +0000 (14:40 +0100)]
wayland: Use a GdkSeat as key for our internal hash table
With the current implementation, we use a `wl_seat` as the key for our
internal has table where we store the Wayland shortcuts inhibitors.
There is however no technical reason for this, and we could use a
GdkSeat instead, which will ease the implementation of the GdkToplevel
shortcut inhibition API.
Olivier Fourdan [Mon, 30 Mar 2020 14:55:05 +0000 (16:55 +0200)]
gdk: add internal `gdk_surface_get_seat_from_event()`
This can come handy to get the seat from a surface/event.
Olivier Fourdan [Fri, 20 Mar 2020 14:17:41 +0000 (15:17 +0100)]
gdk: Add gdk_toplevel_inhibit_system_shortcuts API
With the removal of grabs from the public API, we need a replacement API
to let applications bypass system keyboard shortcuts.
A typical use case for this API is remote desktop or virtual machine
viewers which need to inhibit the default system keyboard shortcuts so
that the remote session or virtual host gets those instead of the local
environment.
Close: https://gitlab.gnome.org/GNOME/gtk/issues/982
Matthias Clasen [Mon, 30 Mar 2020 15:15:51 +0000 (15:15 +0000)]
Merge branch 'wip/jimmac/avoid-t-word' into 'master'
widget-factory: avoid the T word
See merge request GNOME/gtk!1586
Jakub Steiner [Thu, 26 Mar 2020 19:29:43 +0000 (20:29 +0100)]
widget-factory: avoid the T word
- style variant sound more appropriate
Matthias Clasen [Mon, 30 Mar 2020 11:37:57 +0000 (11:37 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
widget: Remove a leftover vfunc
See merge request GNOME/gtk!1584
Matthias Clasen [Mon, 30 Mar 2020 03:38:34 +0000 (23:38 -0400)]
window: Remove initial-focus leftovers
We removed the way to set initial_focus a year ago,
time to get rid of the leftovers.
Matthias Clasen [Mon, 30 Mar 2020 03:18:56 +0000 (23:18 -0400)]
widget: Remove a leftover vfunc
The popup-menu signal is gone, so we can remove the vfunc.
Yosef Or Boczko [Sun, 29 Mar 2020 15:34:36 +0000 (15:34 +0000)]
Update Hebrew translation
Yosef Or Boczko [Sun, 29 Mar 2020 15:33:40 +0000 (15:33 +0000)]
Update Hebrew translation
Timm Bäder [Sat, 28 Mar 2020 19:37:29 +0000 (20:37 +0100)]
widget: Return an array from list_controllers
Minimize the GList usage throughout the code base.
Matthias Clasen [Sun, 29 Mar 2020 13:18:35 +0000 (13:18 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1583
Matthias Clasen [Sat, 28 Mar 2020 21:16:42 +0000 (17:16 -0400)]
coloreditor: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 21:12:40 +0000 (17:12 -0400)]
colorchooserdialog: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 21:09:52 +0000 (17:09 -0400)]
colorchooserwidget: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 21:01:58 +0000 (17:01 -0400)]
notebook: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 20:52:41 +0000 (16:52 -0400)]
listbox: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 20:52:31 +0000 (16:52 -0400)]
levelbar: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 20:26:15 +0000 (16:26 -0400)]
spinbutton: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 20:14:43 +0000 (16:14 -0400)]
filechooserwidget: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 20:04:30 +0000 (16:04 -0400)]
printunixdialog: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 19:55:15 +0000 (15:55 -0400)]
printjob: Drop the Private struct
Matthias Clasen [Sun, 29 Mar 2020 13:01:13 +0000 (09:01 -0400)]
testsuite: Fix notify test no not fail on the 30th
We are setting the month property to 10 different values,
checking that the change succeeds. But the calendar defaults
to the current date, so on every 30th of the month, we
try to set a date of Febuary 30, which fails.
Lets fix this before the 31st, by setting the calendar
to a good date.
Piotr Drąg [Sun, 29 Mar 2020 12:08:56 +0000 (14:08 +0200)]
Update Polish translation
Matthias Clasen [Sat, 28 Mar 2020 21:17:29 +0000 (21:17 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1582
Matthias Clasen [Sat, 28 Mar 2020 19:22:13 +0000 (15:22 -0400)]
printing: Avoid a crash
When no printer has been selected (e.g. because we don't
find any printers), the 'print at' radio group should be
insensitive, except for the 'now' choice. Selecting another
option in this situation will lead to a crash.
Matthias Clasen [Sat, 28 Mar 2020 19:21:11 +0000 (15:21 -0400)]
printing: Fix initial page range radio group
Only set one radio button as active in the ui file.
Otherwise we end up with multiple options appearing
as selected initially.
Matthias Clasen [Sat, 28 Mar 2020 19:35:36 +0000 (19:35 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1580
Matthias Clasen [Sat, 28 Mar 2020 19:03:33 +0000 (15:03 -0400)]
gesture: Fix gtk_gesture_get_bounding_box
When we stopped translating event coordinates in-place,
this function inadvertently started returning surface-relative
bounding boxes instead of widget-relative ones, as expected.
Fix this by using the widget-relative coordinates that we
already store.
Matthias Clasen [Sat, 28 Mar 2020 18:56:26 +0000 (14:56 -0400)]
cellarea: Fix cell editing
We need to translate the event coordinates to
widget-relative coordinates. This broke when
we stopped translating event coordinates in-place.
Matthias Clasen [Sat, 28 Mar 2020 18:33:01 +0000 (14:33 -0400)]
button: Fix an event handling gotcha
We no longer translate event coordinates in-place,
so gdk_event_get_position() returns surface-relative
coordinates, not widget-relative ones. Just use the
coordinates we are given.
Matthias Clasen [Sat, 28 Mar 2020 18:29:08 +0000 (14:29 -0400)]
imcontextsimple: Don't use g_object_unref on events
Events are not objects anymore.
Matthias Clasen [Sat, 28 Mar 2020 18:28:36 +0000 (14:28 -0400)]
x11: Don't use g_object_unref on events
Events are not object anymore.
Matthias Clasen [Sat, 28 Mar 2020 16:09:01 +0000 (16:09 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1579
Piotr Drąg [Sat, 28 Mar 2020 15:04:52 +0000 (16:04 +0100)]
Update POTFILES.in and POTFILES.skip
Matthias Clasen [Sat, 28 Mar 2020 14:59:12 +0000 (10:59 -0400)]
appchooserdialog: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 14:49:54 +0000 (10:49 -0400)]
image: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 14:48:15 +0000 (10:48 -0400)]
infobar: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 14:36:09 +0000 (10:36 -0400)]
texthandle: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 14:28:22 +0000 (10:28 -0400)]
searchentry: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 14:23:01 +0000 (10:23 -0400)]
statusbar: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 14:16:18 +0000 (10:16 -0400)]
settings: Drop the Private struct
Also drop class padding - pointless for final types.
Matthias Clasen [Sat, 28 Mar 2020 14:15:50 +0000 (10:15 -0400)]
accellabel: Drop unused class fields
We are not using these anymore.
Matthias Clasen [Sat, 28 Mar 2020 14:06:26 +0000 (10:06 -0400)]
accellabel: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 13:59:12 +0000 (09:59 -0400)]
actionbar: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 04:42:44 +0000 (00:42 -0400)]
aboutdialog: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 04:35:13 +0000 (00:35 -0400)]
menubutton: Drop the Private struct
Timm Bäder [Sat, 28 Mar 2020 07:34:35 +0000 (08:34 +0100)]
applicationaccels: Fix shortcut memory leaks
g_list_model_get_item() is transfer-full.
Matthias Clasen [Sat, 28 Mar 2020 04:40:52 +0000 (04:40 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #2489
See merge request GNOME/gtk!1578
Matthias Clasen [Sat, 28 Mar 2020 04:07:05 +0000 (00:07 -0400)]
gtk-demo: Fix the stack demo
The GtkSpinner:active property was renamed to :spinning.
Matthias Clasen [Sat, 28 Mar 2020 04:06:14 +0000 (00:06 -0400)]
gtk-demo: Fix the sliding puzzle
Update for a change in gtk_shortcut_controller_add_shortcut
behavior.
Matthias Clasen [Sat, 28 Mar 2020 04:05:48 +0000 (00:05 -0400)]
gtk-demo: Fix the shortcuts demo
We don't have margins anymore.
Matthias Clasen [Sat, 28 Mar 2020 04:04:25 +0000 (00:04 -0400)]
gtk-demo: Fix the rotated text demo
Off-by-one on the heart!
Matthias Clasen [Sat, 28 Mar 2020 02:57:10 +0000 (22:57 -0400)]
gtk-demo: Fix the overlay demo
We must use two separate boxes for the label and
the entry, otherwise we can't keep their can-target
properties apart.
Matthias Clasen [Sat, 28 Mar 2020 02:31:18 +0000 (22:31 -0400)]
gtk-demo: Use mnemonics in menu buttons
Use GtkMenuButton:use-underline in the modelbutton demo.
Matthias Clasen [Sat, 28 Mar 2020 02:28:49 +0000 (22:28 -0400)]
menubutton: Add a use-underline property
This is necessary since apps no longer have direct
access to the label.
Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2489
Matthias Clasen [Fri, 27 Mar 2020 20:38:06 +0000 (16:38 -0400)]
gtk-demo: Visual fixes to the model button demo
Matthias Clasen [Fri, 27 Mar 2020 21:10:19 +0000 (21:10 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1577
Matthias Clasen [Fri, 27 Mar 2020 20:24:20 +0000 (16:24 -0400)]
gtk-demo: Fix the search entry demo
Avoid critical warnings when setting up the context
menu actions.
Matthias Clasen [Fri, 27 Mar 2020 20:06:03 +0000 (16:06 -0400)]
widget-factory: Fix the radio button example
We only want one of the sensitive buttons to be active,
so don't tell them all to be active.
Matthias Clasen [Fri, 27 Mar 2020 16:37:31 +0000 (16:37 +0000)]
Merge branch 'rename-theme-resources' into 'master'
Rename GResources for standard GTK themes
See merge request GNOME/gtk!1576